Skip to content

Import ViSR app#8

Merged
douglaswinter merged 45 commits intomainfrom
visr
Feb 5, 2026
Merged

Import ViSR app#8
douglaswinter merged 45 commits intomainfrom
visr

Conversation

@douglaswinter
Copy link
Collaborator

No description provided.

callumforrester and others added 30 commits July 11, 2025 09:02
Add basic CI checks to show that code builds and lints
Update node version to fix failing CI
Create a static schema representing a response from a blueapi server
using only the count plan. Generate a JSON form to fill in parameters
for the count plan.
Create a dropdown menu for selecting a plan, populate using a mocked
call to blueapi using mockserviceworker.

Edit mocked output assuming that the following have been fixed:
- DiamondLightSource/blueapi#1129
- DiamondLightSource/blueapi#1123
- DiamondLightSource/blueapi#1124

And reorder the scanspec schema so that its self-referential components
can be detected in a single pass.
Get the button to trigger a plan on blueapi, no feedback yet.
Add an instrument session field since that is a requirement for blueapi.
Migrate from yarn to pnpm per Diamond's UI policy
* Add Dockerfile for building and serving web UI with NGINX
* Add github action to create and push image on release
Add dummy data view using davidia, insert it into the spectroscopy plan
view. The view shows an RGB colour pattern pretending to be a detector
output.
This change adds instrument session context and provider, which
internally caches and retrieves the state using localStorage. Default
instrument session can be passed as prop to the provider.
A workflows route for manually submitting workflows using Relay GraphQL client.
* Remove unused css

* Redesign the JsonForms section

* Add tests for SearchablePlanList

* Add tests for PlanBrowser

* Add error boundary and tests to PlanParameters

* Group PlanBrowser-related components

* Add test CI job

* Resolve merge conflicts

* Fix CI job name

* Invert selectedPlan condition for clarity

* Render PlanParameters wrapped in InstrumentSessionProvider in test
Separate IS dropdown from IS query

Remove repository from workflows
…ssion_via_graph

Populate instrument session via graph
An SSE end point (/api/data/events) tells us when scans start/stop and
the data files corresponding to the running scan. When a scan is
running, we poll /api/data/map three times for R G and B channels.

Co-authored-by: Douglas Winter <douglas.winter@diamond.ac.uk>
davehadley and others added 15 commits December 2, 2025 14:01
This change picks out the 'snake' info from the SSE event and uses it
when polling the /map endpoint.
* Extract submitWorkflow logic for reuse

* Extract SSE connection to useScanEvents hook

* Organise components and hooks

* Automatically trigger visr-reconstruction workflow at scan end

* Improve graphql msw handlers

* Correct workflow parameter
* Update NumberTextField to NumberField instead of TextField

* Create custom numberField with error state

* Remove SpectroscopyFormData from NumberField

* Change visit input on spectroscopy to VisitInput with validation

* rename NumberFieldInput.tsx to NumberInput.tsx

* Tidy up

* change Modes case in NumberInput.tsx

* add tests for NumberInput, add validation for default value

* remove unnecessary exports from NumberInput

* change Submit to Commit in NumberInput, remove button

* remove submit button from visit input on spectroscopy page
* add abort button
As was in its previous location, no change to the app yet.

git-subtree-dir: apps/visr
git-subtree-mainline: f76a8c3
git-subtree-split: cab1d31
Copy link
Contributor

@EmsArnold EmsArnold left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assuming that some of the more general utilities and components will be migrated to appropriate places in the future, LGTM

@douglaswinter douglaswinter merged commit dca8d14 into main Feb 5, 2026
1 check passed
@douglaswinter douglaswinter deleted the visr branch February 5, 2026 09:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants